<?
$pagesize=5;
$url=$_SERVER["REQUEST_URI"];//预定义服务器变量的一种所有$_SERVER开头的都叫做预定义服务//器变量REQUEST_URI的作用是取得当前URL,也就是处域名后面的完整的地址路径。
$url=parse_url($url);//parse_url() 是讲URL解析成有固定键值的数组的函数
$url=$url[path];//路径

$numq=mysql_query("SELECT * FROM `message`");
$num = mysql_num_rows($numq);//总条数
$lastpg = ceil($num / $pagesize); //最后页，也是总页数$lastpg = ceil($num / $pagesize); //最后页，也是总页数
//$pageval=$pageval+1;
if($_GET[page])
{                                            //从地址栏获得page,获得执行下面的，没获得不执行。
$pageval=$_GET[page];//获得当前页

$pageval = min($lastpg, $pageval);
$page=($pageval-1)*$pagesize;
$page.=',';

}

if($pageval<=1)$pageval=1;//必须要先判断，防止越界

$prepg =  $pageval -1 ; //上一页
$nextpg = ( $pageval == $lastpg ? 0 : $pageval +1); //下一页
//$prepg = ($pageval == 1 ? 1 : $pageval -1); //上一页
//$nextpg = ($pageval == $lastpg ? $lastpg : $pageval +1); //下一页
if($num > $pagesize){

 //开始分页导航条代码：
		$pagenav = "显示第 <B>" . ($num ? ($page +1) : 0) . "</B>-<B>" . min($page + $pagesize, $num ) . "</B> 条记录，共 $num 条记录";





		//如果只有一页则跳出函数：
		if ($lastpg <= 1)
			return false;

		$pagenav .= " <a href=$url?page=1>首页</a> ";
		if ($prepg)
			$pagenav .= " <a href=$url?page=".($prepg).">上一页</a> ";
		else
			$pagenav .= " 上一页 ";
		if ($nextpg)
			$pagenav .= " <a href=$url?page=".($nextpg).">下一页</a> ";
		else
			$pagenav .= " 下一页 ";
		$pagenav .= " <a href='$url?page=$lastpg'>尾页</a> ";

 //$pagenav.= " <a href=$url?page=".($prepg).">上一页</a> <a href=$url?page=".($nextpg).">下一页</a>";



//下拉跳转列表，循环列出所有页码：
		$pagenav .= "　跳转到第 <select name='topage' size='1' onchange='window.location=\"$url?page=\"+this.value'>\n";
		//select 元素可创建单选或多选菜单。
		for ($i = 1; $i <= $lastpg; $i++) {
			if ($i == $pageval)
				$pagenav .= "<option value='$i' selected>$i</option>\n";
			else
				$pagenav .= "<option value='$i'>$i</option>\n";
		}

 
 
 echo $pagenav;
} //$url?page每当点击这个链接都会触发if($_GET[page])，page获得的值，非0就可以执行。
?>